package com.eascs.workflow.common.vo;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * 工作流启动参数
 * 
 * @author user
 *
 */
public class WFRequestParam implements Serializable {
	private static final long serialVersionUID = -4618467588397931495L;

	/**
	 * 引用单Id 非空
	 */
	private String referId;

	/**
	 * 引用单Code 非空
	 */
	private String referCode;

	/**
	 * 引用单详情URL 非空
	 */
	private String referUrl;

	/**
	 * 系统模块 非空
	 * 
	 * @see com.eascs.workflow.common.entity.wf.ProcessTemplate#SYSTEM_MODULE_O2O
	 */
	private String systemModule;
	/**
	 * 流程类型 非空
	 * 
	 * @see com.eascs.workflow.common.entity.wf.ProcessTemplate#PROECESS_TYPE_CREDIT
	 */
	private String processType;

	/**
	 * 流程版本
	 */
	private String processVersion;

	/**
	 * 经办人NO 非空
	 */
	private String appliedby;

	/**
	 * 经办人名称 非空
	 */
	private String appliedbyName;

	/**
	 * 经办平台
	 * unitNo
	 * 必填
	 */
	private String orgNo;

	/**
	 * 申请单描述
	 */
	private String appliedDes;
	
	/**
	 * 启动流程时指定角色和对应的经办用户
	 */
	private Map<String, List<String>> roleUserMap;
	
	/**
	 * 节点过滤
	 * */
	private List<String> excludeNodeCodeList;
	

	public String getReferId() {
		return referId;
	}

	public void setReferId(String referId) {
		this.referId = referId;
	}

	public String getReferCode() {
		return referCode;
	}

	public void setReferCode(String referCode) {
		this.referCode = referCode;
	}

	public String getProcessType() {
		return processType;
	}

	public void setProcessType(String processType) {
		this.processType = processType;
	}

	public String getProcessVersion() {
		return processVersion;
	}

	public void setProcessVersion(String processVersion) {
		this.processVersion = processVersion;
	}

	public String getAppliedDes() {
		return appliedDes;
	}

	public void setAppliedDes(String appliedDes) {
		this.appliedDes = appliedDes;
	}

	public String getAppliedby() {
		return appliedby;
	}

	public void setAppliedby(String appliedby) {
		this.appliedby = appliedby;
	}

	public String getAppliedbyName() {
		return appliedbyName;
	}

	public void setAppliedbyName(String appliedbyName) {
		this.appliedbyName = appliedbyName;
	}

	public String getSystemModule() {
		return systemModule;
	}

	public void setSystemModule(String systemModule) {
		this.systemModule = systemModule;
	}

	public String getReferUrl() {
		return referUrl;
	}

	public void setReferUrl(String referUrl) {
		this.referUrl = referUrl;
	}

	public String getOrgNo() {
		return orgNo;
	}

	public void setOrgNo(String orgNo) {
		this.orgNo = orgNo;
	}

	public Map<String, List<String>> getRoleUserMap() {
		return roleUserMap;
	}

	public void setRoleUserMap(Map<String, List<String>> roleUserMap) {
		this.roleUserMap = roleUserMap;
	}

	public List<String> getExcludeNodeCodeList() {
		return excludeNodeCodeList;
	}

	public void setExcludeNodeCodeList(List<String> excludeNodeCodeList) {
		this.excludeNodeCodeList = excludeNodeCodeList;
	}

	@Override
	public String toString() {
		return "WFRequestParam [referId=" + referId + ", referCode=" + referCode + ", referUrl=" + referUrl
				+ ", systemModule=" + systemModule + ", processType=" + processType + ", processVersion="
				+ processVersion + ", appliedby=" + appliedby + ", appliedbyName=" + appliedbyName + ", orgNo=" + orgNo
				+ ", appliedDes=" + appliedDes + ", roleUserMap=" + roleUserMap + ", excludeNodeCodeList="
				+ excludeNodeCodeList + "]";
	}


}
